//
//  BaseTableView.h
//  FPTest
//
//  Created by zhaohong on 2017/11/7.
//  Copyright © 2017年 zhaohong. All rights reserved.
//

#import <UIKit/UIKit.h>
@class BaseTableView;
/**
 *  下拉，上拉，选择的代理
 */
@protocol UITableViewEventDelegate <NSObject>

@optional
/**
 *  下拉刷新
 *
 *  @param tableView 传入的tableView
 */
- (void)pullDown:(BaseTableView *)tableView;
/**
 *  上拉加载
 *
 *  @param tableView 传入的tableView
 */
- (void)pullUp:(BaseTableView *)tableView;
/**
 *  选中cell的代理
 *
 *  @param tableView 传入的tableView
 *  @param indexPath 选中的坐标位置
 */
- (void)tableView:(BaseTableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;


@end
@interface BaseTableView : UITableView<UITableViewDelegate,UITableViewDataSource>
@property (nonatomic, assign)BOOL isDiyRefresh; // 是否自定义
@property (nonatomic,assign)BOOL isRefreshHeader;//是否需要下拉效果
@property (nonatomic,strong)NSArray *data;// 为tableView提供数据
@property (nonatomic,assign)id<UITableViewEventDelegate> eventDelegate;// 下拉，上拉事件代理
@property (nonatomic,assign)BOOL isMoreInfo;// 是否有更多数据,用来控制是否需要上拉加载功能
@property (nonatomic,strong)UILabel *footLabel;// 上拉加载时底部显示的标签提示
@property (nonatomic,assign)BOOL isNOData;// 没有数据

/**
 *  自定义的上拉
 *
 *
 */
- (id)initWithFrame:(CGRect)frame and:(BOOL)isDiyMoreRresh;
/**
 *  停止下拉刷新动画
 */
- (void)doneLoadingTableViewData;
/**
 *  滚动栏滚动到最底部
 *
 *  @param animated 是否开启动画
 */
- (void)scrollToBottomWithAnimated:(BOOL)animated;

@end
